<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur est autorisé
	if(isset($_SESSION)&& ($GLOBALS['USER']['level'] >= 3 || $GLOBALS['USER']['admin'])){
   
   // si le fichier existe
   // on assigne les données à des variables pour plus de confort
      if (isset($_GET['f'])) {
         $estTaxon = 0;
         $nomfichier =  $_GET['f'];
         $idClassif = $_GET['cla'];
         if (isset($_GET['fili'])){
            $firstLine = $_GET['fili'];  
         }else {
            $firstLine = 1;
         }
         if (isset($_GET['lali'])){
            $lastLine = $_GET['lali']; 
         }
         
         if(isset($_GET['tax'])){
            $estTaxon = $_GET['tax'];
         }
         
         if(isset($_GET['verbose'])){
            $verbose = $_GET['verbose'];
         }
         
      // on récupère toutes les familles et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons   
         if (isset($_GET['fam'])) {
         
            $colFamille = $_GET['fam']; // on sait quelle colonne correspond aux familles
            
            $query_recuperation_familles = "SELECT NOMFAMILLE FROM famille";
               
            $result_recuperation_familles =  mysql_query($query_recuperation_familles, $connexion) or logError("RECUPERATION FAMILLES-".$query_recuperation_familles."-".mysql_error());

            $familles = array(); // on créé un tableau qui contiendra la liste des familles
            $nb_familles = 0;
            while($line_recuperation_familles = mysql_fetch_assoc($result_recuperation_familles)){
               $familles[$nb_familles] = strtolower(trim($line_recuperation_familles['NOMFAMILLE']));
               $nb_familles++;
            }
               
            mysql_free_result($result_recuperation_familles);
            
            
            
         }
         
         // on récupère toutes les sous-familles et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons   
         if (isset($_GET['sfam'])) {

            $colSousFamille = $_GET['sfam']; // on sait quelle colonne correspond aux sous-familles
            
                      
            $query_recuperation_sous_familles = "SELECT NOMSOUSFAMILLE FROM sous_famille";
               
            $result_recuperation_sous_familles =  mysql_query($query_recuperation_sous_familles, $connexion) or logError("RECUPERATION SOUS FAMILLES-".$query_recuperation_sous_familles."-".mysql_error());

            $sous_familles = array(); // on créé un tableau qui contient la liste des sous-familles
            $nb_sous_familles = 0;
            while($line_recuperation_sous_familles = mysql_fetch_assoc($result_recuperation_sous_familles)){
               $sous_familles[$nb_sous_familles] = strtolower(trim($line_recuperation_sous_familles['NOMSOUSFAMILLE']));
               $nb_sous_familles++;
            }
               
            mysql_free_result($result_recuperation_sous_familles);
            
            
         }
         
         // on récupère toutes les genres et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['gen'])) {
         
            $colGenre = $_GET['gen'];
            
           
            $query_recuperation_genres = "SELECT NOMGENRE FROM genre";
               
            $result_recuperation_genres =  mysql_query($query_recuperation_genres, $connexion) or logError("RECUPERATION GENRES-".$query_recuperation_genres."-".mysql_error());

            $genres = array(); // on créé un tableau qui contient la liste des genres
            $nb_genres = 0;
            while($line_recuperation_genres = mysql_fetch_assoc($result_recuperation_genres)){
               $genres[$nb_genres] = strtolower(trim($line_recuperation_genres['NOMGENRE']));
               $nb_genres++;
            }
               
            mysql_free_result($result_recuperation_genres);
 
         }
         
         // on récupère toutes les sous-genres et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons
         if (isset($_GET['sgen'])) {
            
            $colSousGenre = $_GET['sgen'];
            
            $query_recuperation_genres = "SELECT NOMSOUSGENRE FROM sous_genre";
               
            $result_recuperation_sous_genres =  mysql_query($query_recuperation_sous_genres, $connexion) or logError("RECUPERATION SOUS-GENRES-".$query_recuperation_sous_genres."-".mysql_error());

            $sous_genres = array(); // on créé un tableau qui contient la liste des sous-genres
            $nb_sous_genres = 0;
            while($line_recuperation_sous_genres = mysql_fetch_assoc($result_recuperation_sous_genres)){
               $sous_genres[$nb_sous_genres] = strtolower(trim($line_recuperation_sous_genres['NOMSOUSGENRE']));
               $nb_sous_genres++;
            }
               
            mysql_free_result($result_recuperation_sous_genres);
            
         }
         
         // on récupère toutes les espèces et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['esp'])) {
         
            $colEspece = $_GET['esp'];

            $query_recuperation_especes = "SELECT NOMESPECE FROM espece";
               
            $result_recuperation_especes =  mysql_query($query_recuperation_especes, $connexion) or logError("RECUPERATION ESPECES-".$query_recuperation_especes."-".mysql_error());
            $especes = array(); // on créé un tableau qui contient la liste des espèces
            $nb_especes = 0;
            while($line_recuperation_especes = mysql_fetch_assoc($result_recuperation_especes)){
               $especes[$nb_especes] = strtolower(trim($line_recuperation_especes['NOMESPECE']));
               $nb_especes++;
            }
               
            mysql_free_result($result_recuperation_especes);
               
         }
         
         // on récupère toutes les sous-espèces et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['sesp'])) {
            
            $colSousEspece = $_GET['sesp'];
            
            $query_recuperation_sous_especes = "SELECT NOMSOUSESPECE FROM sous_espece";
               
            $result_recuperation_sous_especes =  mysql_query($query_recuperation_sous_especes, $connexion) or logError("RECUPERATION SOUS ESPECES-".$query_recuperation_sous_especes."-".mysql_error());

            $sous_especes = array(); // on créé un tableau qui contient la liste des sous-espèces
            $nb_sous_especes = 0;
            while($line_recuperation_sous_especes = mysql_fetch_assoc($result_recuperation_sous_especes)){
               $sous_especes[$nb_sous_especes] = strtolower(trim($line_recuperation_sous_especes['NOMSOUSESPECE']));
               $nb_sous_especes++;
            }
               
            mysql_free_result($result_recuperation_sous_especes);
            
         }
         
         // on récupère toutes les auteurs et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['aut'])) {
         
            $colAuteur = $_GET['aut'];
 
            $query_recuperation_auteurs = "SELECT ABREVIATIONAUTEUR FROM auteur";
               
            $result_recuperation_auteurs =  mysql_query($query_recuperation_auteurs, $connexion) or logError("RECUPERATION AUTEURS-".$query_recuperation_auteurs."-".mysql_error());
               
            $auteurs = array(); // on créé un tableau qui contient la liste des auteurs
            $nb_auteurs = 0;
            while($line_recuperation_auteurs = mysql_fetch_assoc($result_recuperation_auteurs)){
               $auteurs[$nb_auteurs] = strtolower(trim($line_recuperation_auteurs['ABREVIATIONAUTEUR']));
               $nb_auteurs++;
            }
               
            mysql_free_result($result_recuperation_auteurs);
            
         }
         
         // on récupère toutes les variétés et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['var'])) {
     
            $colVariete = $_GET['var'];
            
            $query_recuperation_varietes = "SELECT NOMVARIETE as nom FROM variete";
               
            $result_recuperation_varietes =  mysql_query($query_recuperation_varietes, $connexion) or logError("RECUPERATION VARIETES-".$query_recuperation_varietes."-".mysql_error());

            $varietes = array(); // on créé un tableau qui contient la liste des variétés
            $nb_varietes = 0;
            while($line_recuperation_varietes = mysql_fetch_assoc($result_recuperation_varietes)){
               $varietes[$nb_varietes] = strtolower(trim($line_recuperation_varietes['nom']));
               $nb_varietes++;
            }
               
            mysql_free_result($result_recuperation_varietes);
            
         }
         
         // on récupère toutes les aires géographiques et on stock, pour pouvoir comparer avec les entrées et ainsi éviter les doublons  
         if (isset($_GET['air'])) {
         
            $colAireGeo = $_GET['air'];
            
            $query_recuperation_aires_geographiques = "SELECT NOMAIREGEOGRAPHIQUE as nom FROM aire_geographique";
               
            $result_recuperation_aires_geographiques =  mysql_query($query_recuperation_aires_geographiques, $connexion) or logError("RECUPERATION AIRES GEOGRAPHIQUES-".$query_recuperation_aires_geographiques."-".mysql_error());

            $aires_geographiques = array(); // on créé un tableau qui contient la liste des aires geographiques
            $nb_aires_geographiques = 0;
            while($line_recuperation_aires_geographiques = mysql_fetch_assoc($result_recuperation_aires_geographiques)){
               $aires_geographiques[$nb_aires_geographiques] = strtolower(trim($line_recuperation_aires_geographiques['nom']));
               $nb_aires_geographiques++;
            }
               
            mysql_free_result($result_recuperation_aires_geographiques);
             
         }
         
         if (isset($_GET['nver'])) {
         
            $colNomVernaculaire = $_GET['nver'];
            
            
            $query_recuperation_noms_vernaculaires = "SELECT NOMVERNACULAIRE as nom FROM nom_vernaculaire";
               
            $result_recuperation_noms_vernaculaires =  mysql_query($query_recuperation_noms_vernaculaires, $connexion) or logError("RECUPERATION NOMS VERNACULAIRES-".$query_recuperation_noms_vernaculaires."-".mysql_error());

            $noms_vernaculaires = array(); // on créé un tableau qui contient la liste des noms vernaculaires
            $nb_noms_vernaculaires = 0;
            while($line_recuperation_noms_vernaculaires = mysql_fetch_assoc($result_recuperation_noms_vernaculaires)){
               $noms_vernaculaires[$nb_noms_vernaculaires] = strtolower(trim($line_recuperation_noms_vernaculaires['nom']));
               $nb_noms_vernaculaires++;
            }
               
            mysql_free_result($result_recuperation_noms_vernaculaires);
            
            
         }
         
         if (isset($_GET['mibi'])) {
         
            $colMilieuBiologique = $_GET['mibi'];

            $query_recuperation_milieux_biologiques = "SELECT NOMMILIEUBIOLOGIQUE as nom FROM milieu_biologique";
               
            $result_recuperation_milieux_biologiques =  mysql_query($query_recuperation_milieux_biologiques, $connexion) or logError("RECUPERATION MILIEUX BIOLOGIQUES-".$query_recuperation_milieux_biologiques."-".mysql_error());

            $milieux_biologiques = array(); // on créé un tableau qui contient la liste des noms vernaculaires
            $nb_milieux_biologiques = 0;
            while($line_recuperation_milieux_biologiques = mysql_fetch_assoc($result_recuperation_milieux_biologiques)){
               $milieux_biologiques[$nb_milieux_biologiques] = strtolower(trim($line_recuperation_milieux_biologiques['nom']));
               $nb_milieux_biologiques++;
            }
               
            mysql_free_result($result_recuperation_milieux_biologiques);

         }
         
         if (isset($_GET['tybi'])) {
         
            $colTypeBiologique = $_GET['tybi'];
            

            $query_recuperation_types_biologiques = "SELECT NOMTYPEBIOLOGIQUE as nom FROM type_biologique";
               
            $result_recuperation_types_biologiques =  mysql_query($query_recuperation_types_biologiques, $connexion) or logError("RECUPERATION tYPES BIOLOGIQUES-".$query_recuperation_types_biologiques."-".mysql_error());

            $types_biologiques = array(); // on créé un tableau qui contient la liste des types biologiques
            $nb_types_biologiques = 0;
            while($line_recuperation_types_biologiques = mysql_fetch_assoc($result_recuperation_types_biologiques)){
               $types_biologiques[$nb_types_biologiques] = strtolower(trim($line_recuperation_types_biologiques['nom']));
               $nb_types_biologiques++;
            }
               
            mysql_free_result($result_recuperation_types_biologiques);
  
         }
         
         if (isset($_GET['ephe'])) {
         
            $colEtatPhenologique = $_GET['ephe'];
            
            $query_recuperation_etats_phenologiques = "SELECT NOMETATPHENOLOGIQUE as nom FROM etat_phenologique";
               
            $result_recuperation_etats_phenologiques =  mysql_query($query_recuperation_etats_phenologiques, $connexion) or logError("RECUPERATION ETATS PHENOLOGIQUES-".$query_recuperation_etats_phenologiques."-".mysql_error());

            $etats_phenologiques = array(); // on créé un tableau qui contient la liste des types biologiques
            $nb_etats_phenologiques = 0;
            while($line_recuperation_etats_phenologiques = mysql_fetch_assoc($result_recuperation_etats_phenologiques)){
               $etats_phenologiques[$nb_etats_phenologiques] = strtolower(trim($line_recuperation_etats_phenologiques['nom']));
               $nb_etats_phenologiques++;
            }
               
            mysql_free_result($result_recuperation_etats_phenologiques);
 
         }
         
         if (isset($_GET['prop'])) {
         
            $colProprieteEspece = $_GET['prop'];

            $query_recuperation_proprietes_especes = "SELECT NOMPROPRIETEESPECE as nom FROM propriete_espece";
               
            $result_recuperation_proprietes_especes =  mysql_query($query_recuperation_proprietes_especes, $connexion) or logError("RECUPERATION PROPRIETES ESPECES-".$query_recuperation_proprietes_especes."-".mysql_error());

            $proprietes_especes = array(); // on créé un tableau qui contient la liste des types biologiques
            $nb_proprietes_especes = 0;
            while($line_recuperation_proprietes_especes = mysql_fetch_assoc($result_recuperation_proprietes_especes)){
               $proprietes_especes[$nb_proprietes_especes] = strtolower(trim($line_recuperation_proprietes_especes['nom']));
               $nb_proprietes_especes++;
            }
               
            mysql_free_result($result_recuperation_proprietes_especes);
 
         }
         
         if (isset($_GET['cult'])) {
         
            $colCultivar = $_GET['cult'];
            
            $query_recuperation_cultivars = "SELECT NOMCULTIVAR FROM cultivar";
               
            $result_recuperation_cultivars = mysql_query($query_recuperation_cultivars, $connexion) or logError("RECUPERATION CULTIVARS-".$query_recuperation_cultivars."-".mysql_error());

            $cultivars = array(); // on créé un tableau qui contient la liste des familles
            $nb_cultivars = 0;
            while($line_recuperation_cultivars = mysql_fetch_assoc($result_recuperation_cultivars)){
                  $cultivars[$nb_cultivars] = strtolower(trim($line_recuperation_cultivars['NOMCULTIVAR']));
                  $nb_cultivars++;
               }
               
               mysql_free_result($result_recuperation_cultivars);
             
            
         }
         

         if ($ouvre = fopen("import/$nomfichier","r")){
            $count = 1;
            for ($ligne = fgetcsv($ouvre, 12000, ","); !feof($ouvre); $ligne = fgetcsv($ouvre, 12000, ",")){
            
               while ($firstLine > $count) {
                  $ligne = fgetcsv($ouvre, 12000, ",");
                  $count++;
               }
            
               $afficheT = "";
                  $afficheT2 = "";
            
               if (((isset($lastLine) && $lastLine >= $count) || !isset($lastLine))){

                  trimTabByKey($ligne);
                  arraytolower($ligne);
               
                  $creeTaxon = $estTaxon;
                  
                  $afficheT = "<div class=\"showTax\">";
                  $afficheT2 = "<br />";
            
                  if($creeTaxon) {
                  
                     if(isset($colFamille)  && $ligne[$colFamille]!="" && isset($colGenre) && $ligne[$colGenre]!="" && isset($colEspece) && $ligne[$colEspece]!="") {
                        $possibleDoublon = 1;
                     } else {
                        $possibleDoublon = 0;
                        $creeTaxon=0;
                        $afficheT2 .= "<b>Ce taxon n'est pas complet. AJOUT ANNULE</b>";
                     }  
                     $query_verif_exist_Taxon = 0;
                     
                  } else {
                     $possibleDoublon = 0;
                  }
                  
                  if(isset($colAuteur) && $ligne[$colAuteur]!=""){
                     
                     $afficheT .= "(".$ligne[$colAuteur].") ";
                     
                     if (!valueIsInTab($auteurs,$ligne[$colAuteur])) {
                        
                        $query_creation_auteur = "INSERT INTO auteur(ABREVIATIONAUTEUR) VALUES(".mysqlString($ligne[$colAuteur]).")";
         					$result_creation_auteur = mysql_query($query_creation_auteur, $connexion) or logError("CREATION AUTEUR-".$query_creation_auteur."-".mysql_error());
                        $auteurs[$nb_auteurs] = $ligne[$colAuteur];
                        $nb_auteurs++;
                        $idAuteur = mysql_insert_id($connexion);
                        
                        if($result_creation_auteur === true){
               				logAction("AUTEUR (id: ".$idAuteur.", contenu : ".mysqlString($ligne[$colAuteur]).") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                        
                     }else {
                        $query_recup_idAuteur = "SELECT CODEAUTEUR FROM auteur WHERE ABREVIATIONAUTEUR = ".mysqlString($ligne[$colAuteur]);
                        $result_recup_idAuteur = mysql_query($query_recup_idAuteur, $connexion) or logError("RECUP ID AUTEUR-".$query_recup_idAuteur."-".mysql_error());
                        $idAuteur=mysql_result($result_recup_idAuteur,0);
                        mysql_free_result($result_recup_idAuteur);
                     }
                     
                  } else {
                     $idAuteur = "";
                     if ($creeTaxon) {
                        $afficheT2 .= "<b>Ce taxon n'est pas complet. AJOUT ANNULE</b>";
                        $creeTaxon = 0;
                     }
                  }
                  
                  
                  if(isset($colFamille)  && $ligne[$colFamille]!="") {
                     
                     $afficheT .= $ligne[$colFamille]." ";
                                          
                     if (!($famExist = valueIsInTab($familles,$ligne[$colFamille]))) {
                     
                        $possibleDoublon = 0;
                        
                        if (!((isset($colSousFamille) && $ligne[$colSousFamille]!="") || (isset($colGenre) && $ligne[$colGenre]!="")) && $idAuteur!="") {
                           $query_creation_famille = "INSERT INTO famille(NOMFAMILLE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colFamille]).",".$idAuteur.")";
                        } else {
                           $query_creation_famille = "INSERT INTO famille(NOMFAMILLE) VALUES(".mysqlString($ligne[$colFamille]).")";
                        }
                        
         					$result_creation_famille = mysql_query($query_creation_famille, $connexion) or logError("CREATION famille-".$query_creation_famille."-".mysql_error());         
                        $familles[$nb_familles] = $ligne[$colFamille];
                        $nb_familles++;
                        $idFamille = mysql_insert_id($connexion);
                        
                        if($result_creation_famille === true){
               				logAction("FAMILLE (id: ".$idFamille.", contenu : ".mysqlString($ligne[$colFamille]).") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                     }else {
                        
                        $query_recup_idFamille = "SELECT CODEFAMILLE FROM famille WHERE NOMFAMILLE = ".mysqlString($ligne[$colFamille]);
                        $result_recup_idFamille = mysql_query($query_recup_idFamille, $connexion) or logError("RECUP ID FAMILLE-".$query_recup_idFamille."-".mysql_error());
                        $idFamille=mysql_result($result_recup_idFamille,0);
                        mysql_free_result($result_recup_idFamille);
                        
                        if($creeTaxon && $famExist && $possibleDoublon) {
                           
                           $query_verif_exist_Taxon = "SELECT isFAM.CODETAXON FROM est_de_famille isFAM ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                     }
                     
                  } else {
                     $idFamille = "";
                     if ($creeTaxon) {
                        $afficheT2 .= "<b>Ce taxon n'est pas complet. AJOUT ANNULE</b>";
                     }
                     $creeTaxon = 0;
                  }
                  
                  if(isset($colSousFamille) && $ligne[$colSousFamille]!="") {
                     
                     $afficheT .= $ligne[$colSousFamille]." ";
                     
                     if (!($sfamExist = valueIsInTab($sous_familles,$ligne[$colSousFamille]))) {
                        $possibleDoublon = 0;
                        if(!(isset($colGenre) && $ligne[$colGenre]!="") && $idAuteur!="") {
                           $query_creation_sous_famille = "INSERT INTO sous_famille(NOMSOUSFAMILLE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colSousFamille]).",$idAuteur)";  
                        } else {
                           $query_creation_sous_famille = "INSERT INTO sous_famille(NOMSOUSFAMILLE) VALUES(".mysqlString($ligne[$colSousFamille]).")";
                        }
      						$result_creation_sous_famille = mysql_query($query_creation_sous_famille, $connexion) or logError("CREATION sous_famille-".$query_creation_sous_famille."-".mysql_error());                     
                        $sous_familles[$nb_sous_familles] = $ligne[$colSousFamille];
                        $nb_sous_familles++;
                        
                        $idSousFamille = mysql_insert_id($connexion);
                        
                        if($result_creation_sous_famille === true){
               				logAction("SOUS-FAMILLE (id: ".$idSousFamille.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                        if ($idFamille!="") {
                           $query_assoc_fam_sfam = "INSERT INTO a_pour_famille(CODEFAMILLE,CODESOUSFAMILLE,CODECLASSIFICATION) VALUES($idFamille,$idSousFamille,$idClassif)";  
                           $result_assoc_fam_sfam = mysql_query($query_assoc_fam_sfam, $connexion) or logError("CREATION ASSOC FAM SFAM-".$query_assoc_fam_sfam."-".mysql_error());
                        
                           if($result_assoc_fam_sfam === true){
                  				logAction("ASSOCIATION FAMILLE <-> SOUS-FAMILLE (idFamille: ".$idFamille.", idSousFamille: ".$idSousFamille.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                  			}
                        
                        }   
                        
                     }else {
                        
                        $query_recup_idSousFamille = "SELECT CODESOUSFAMILLE FROM sous_famille WHERE NOMSOUSFAMILLE = ".mysqlString($ligne[$colSousFamille]);
                        $result_recup_idSousFamille = mysql_query($query_recup_idSousFamille, $connexion) or logError("RECUP ID SOUS_FAMILLE-".$query_recup_idSousFamille."-".mysql_error());
                        $idSousFamille=mysql_result($result_recup_idSousFamille,0);
                        mysql_free_result($result_recup_idSousFamille);
                        
                        if($creeTaxon && $sfamExist && $possibleDoublon) {
                        
                           $query_verif_exist_Taxon .= "INNER JOIN est_de_sous_famille isSFAM ON (isFAM.CODETAXON = isSFAM.CODETAXON AND isFAM.CODECLASSIFICATION = isSFAM.CODECLASSIFICATION AND isSFAM.CODESOUSFAMILLE = $idSousFamille) ";
                        
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }

                  } else {
                     $idSousFamille = "";
                  }
                  
                  if(isset($colGenre) && $ligne[$colGenre]!="") {
                     
                     $afficheT .= $ligne[$colGenre]." ";
                     
                     if (!($genExist = valueIsInTab($genres,$ligne[$colGenre]))) {
                        $possibleDoublon = 0;
                        if(!((isset($colSousGenre) && $ligne[$colSousGenre]!="" )|| (isset($colEspece) && $ligne[$colEspece]!="")) && $idAuteur!="") {
                           $query_creation_genre = "INSERT INTO genre(NOMGENRE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colGenre]).",".$idAuteur.")";  
                        } else {
                           $query_creation_genre = "INSERT INTO genre(NOMGENRE) VALUES(".mysqlString($ligne[$colGenre]).")";
                        }
      						$result_creation_genre = mysql_query($query_creation_genre, $connexion) or logError("CREATION genre-".$query_creation_genre."-".mysql_error());                     
                        $genres[$nb_genres] = $ligne[$colGenre];
                        $nb_genres++;
                        
                        $idGenre = mysql_insert_id($connexion);
                        
                        if($result_creation_genre === true){
               				logAction("GENRE (id: ".$idGenre.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                        if ($idSousFamille!="") {
                           $query_assoc_sfam_gen = "INSERT INTO a_pour_sous_famille(CODESOUSFAMILLE,CODEGENRE,CODECLASSIFICATION) VALUES($idSousFamille,$idGenre,$idClassif)";  
                           $result_assoc_sfam_gen = mysql_query($query_assoc_sfam_gen, $connexion) or logError("CREATION ASSOC SFAM GEN-".$query_assoc_fam_gen."-".mysql_error());
                        
                           if($result_assoc_sfam_gen === true){
                     			logAction("ASSOCIATION SOUS-FAMILLE <-> GENRE (idSousFamille: ".$idSousFamille.", idGenre: ".$idGenre.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                     		}
                        
                        } else if ($idFamille!="") {
                           $query_assoc_fam_gen = "INSERT INTO famille_a_pour_genre(CODEFAMILLE,CODEGENRE,CODECLASSIFICATION) VALUES($idFamille,$idGenre,$idClassif)";  
                           $result_assoc_fam_gen = mysql_query($query_assoc_fam_gen, $connexion) or logError("CREATION ASSOC FAM GEN-".$query_assoc_fam_gen."-".mysql_error());
                        
                           if($result_assoc_fam_gen === true){
                     			logAction("ASSOCIATION FAMILLE <-> GENRE (idFamille: ".$idFamille.", idGenre: ".$idGenre.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                     		}
                        
                        }
                     
                     }else {
 
                        $query_recup_idGenre = "SELECT CODEGENRE FROM genre WHERE NOMGENRE = ".mysqlString($ligne[$colGenre]);
                        $result_recup_idGenre = mysql_query($query_recup_idGenre, $connexion) or logError("RECUP ID GENRE-".$query_recup_idGenre."-".mysql_error());
                        $idGenre=mysql_result($result_recup_idGenre,0);
                        mysql_free_result($result_recup_idGenre);

                        if ($idSousFamille!="") {
                           $query_get_sfam_gen = "SELECT CODESOUSFAMILLE FROM a_pour_sous_famille apsf ";
                           $query_get_sfam_gen .= "WHERE apsf.CODESOUSFAMILLE = $idSousFamille AND aspf.CODEGENRE = $idGenre";
                           $result_get_sfam_gen = mysql_query($query_get_sfam_gen, $connexion) or logError("GET LIEN SFAM-GEN-".$query_get_sfam_gen."-".mysql_error());
                           
                           if(mysql_num_rows($result_get_sfam_gen) == 0) {
                              $query_assoc_sfam_gen = "INSERT INTO a_pour_sous_famille(CODESOUSFAMILLE,CODEGENRE,CODECLASSIFICATION) VALUES($idSousFamille,$idGenre,$idClassif)";  
                              $result_assoc_sfam_gen = mysql_query($query_assoc_sfam_gen, $connexion) or logError("CREATION ASSOC SFAM GEN-".$query_assoc_fam_gen."-".mysql_error());                 
                           
                              if($result_assoc_sfam_gen === true){
                                 logAction("ASSOCIATION SOUS-FAMILLE <-> GENRE (idSousFamille: ".$idSousFamille.", idGenre: ".$idGenre.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                              }
                           
                           }
                           mysql_free_result($result_get_sfam_gen);
          
                        } else if ($idFamille!="") {
                           
                           $query_get_fam_gen = "SELECT CODEFAMILLE FROM famille_a_pour_genre fapg ";
                           $query_get_fam_gen .= "WHERE fapg.CODEFAMILLE = $idFamille AND fapg.CODEGENRE = $idGenre";
                           $result_get_fam_gen = mysql_query($query_get_fam_gen, $connexion) or logError("GET LIEN FAM-GEN-".$query_get_fam_gen."-".mysql_error());
                           
                           if(mysql_num_rows($result_get_fam_gen) == 0) {
                              $query_assoc_fam_gen = "INSERT INTO famille_a_pour_genre(CODEFAMILLE,CODEGENRE,CODECLASSIFICATION) VALUES($idFamille,$idGenre,$idClassif)";  
                              $result_assoc_fam_gen = mysql_query($query_assoc_fam_gen, $connexion) or logError("CREATION ASSOC FAM GEN-".$query_assoc_fam_gen."-".mysql_error());               
                           
                              if($result_assoc_fam_gen === true){
                                 logAction("ASSOCIATION FAMILLE <-> GENRE (idFamille: ".$idFamille.", idGenre: ".$idGenre.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                              }
                           
                           }
                           mysql_free_result($result_get_fam_gen);
                        }
                        
                        if($creeTaxon && $genExist && $possibleDoublon) {
                           $query_verif_exist_Taxon .= "INNER JOIN appartient_a_genre isGEN ON (isFAM.CODETAXON = isGEN.CODETAXON AND isFAM.CODECLASSIFICATION = isGEN.CODECLASSIFICATION AND isGEN.CODEGENRE = $idGenre) ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }
                     
                  } else {
                     $idGenre = "";
                     if ($creeTaxon) {
                        $afficheT2 .= "<b>Ce taxon n'est pas complet. AJOUT ANNULE</b>";
                     }
                     $creeTaxon = 0;
                  }
                  
                  if(isset($colSousGenre) && $ligne[$colSousGenre]!="") {
                     
                     $afficheT .= $ligne[$colSousGenre]." ";
                     
                     if(!($sgenExist = valueIsInTab($sous_genres,$ligne[$colSousGenre]))){
                        $possibleDoublon = 0;
                        if(!(isset($colEspece) && $ligne[$colEspece]!="") && $idAuteur!="") {
                           $query_creation_sous_genre = "INSERT INTO sous_genre(NOMSOUSGENRE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colSousGenre]).",$idAuteur)";  
                        } else {
                           $query_creation_sous_genre = "INSERT INTO sous_genre(NOMSOUSGENRE) VALUES(".mysqlString($ligne[$colSousGenre]).")";
                        }
      						$result_creation_sous_genre = mysql_query($query_creation_sous_genre, $connexion) or logError("CREATION sous_genre-".$query_creation_sous_genre."-".mysql_error());                     
                        $sous_genres[$nb_sous_genres] = $ligne[$colSousGenre];
                        $nb_sous_genres++;
                        
                        $idSousGenre = mysql_insert_id($connexion);
                        
                        if($result_creation_sous_genre === true){
               				logAction("SOUS-GENRE (id: ".$idSousGenre.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                        if ($idGenre!="") {
                           $query_assoc_gen_sgen = "INSERT INTO a_pour_genre(CODEGENRE,CODESOUSGENRE,CODECLASSIFICATION) VALUES($idGenre,$idSousGenre,$idClassif)";  
                           $result_assoc_gen_sgen = mysql_query($query_assoc_gen_sgen, $connexion) or logError("CREATION ASSOC GEN SGEN-".$query_assoc_gen_sgen."-".mysql_error());
                        
                           if($result_assoc_gen_sgen === true){
                              logAction("ASSOCIATION GENRE <-> SOUS-GENRE (idGenre: ".$idGenre.", idSousGenre: ".$idSousGenre.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }   
                     
                     }else {
                        $query_recup_idSousGenre = "SELECT CODESOUSGENRE FROM sous_genre WHERE NOMSOUSGENRE = ".mysqlString($ligne[$colSousGenre]);
                        $result_recup_idSousGenre = mysql_query($query_recup_idGenre, $connexion) or logError("RECUP ID SOUS_GENRE-".$query_recup_idSousGenre."-".mysql_error());
                        $idSousGenre=mysql_result($result_recup_idSousGenre,0);
                        mysql_free_result($result_recup_idSousGenre);
                        
                        if($creeTaxon && $sgenExist && $possibleDoublon) {
                           
                           $query_verif_exist_Taxon .= "INNER JOIN appartient_a_sous_genre isSGEN ON (isFAM.CODETAXON = isSGEN.CODETAXON AND isFAM.CODECLASSIFICATION = isSGEN.CODECLASSIFICATION AND isSGEN.CODESOUSGENRE = $idSousGenre) ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }
                     
                  } else {
                     $idSousGenre = "";
                  }
                  
                  if(isset($colEspece) && $ligne[$colEspece]!="") {
                 
                     $afficheT .= $ligne[$colEspece]." ";
                 
                     if (!($espExist = valueIsInTab($especes,$ligne[$colEspece]))) { 
                        $possibleDoublon = 0;
                        if(!((isset($colSousEspece) && $ligne[$colSousEspece]!="" )|| (isset($colVariete) && $ligne[$colVariete]!="")) && $idAuteur!="") {
                           $query_creation_espece = "INSERT INTO espece(NOMESPECE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colEspece]).",$idAuteur)";  
                        } else {
                           $query_creation_espece = "INSERT INTO espece(NOMESPECE) VALUES(".mysqlString($ligne[$colEspece]).")";
                        }
      						$result_creation_espece = mysql_query($query_creation_espece, $connexion) or logError("CREATION espece-".$query_creation_espece."-".mysql_error());                     
                        $especes[$nb_especes] = $ligne[$colEspece];
                        $nb_especes++;
                        
                        $idEspece = mysql_insert_id($connexion);
                        
                        if($result_creation_espece === true){
               				logAction("ESPECE (id: ".$idEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
               			}
                        
                        if ($idSousGenre!="") {
                           $query_assoc_sgen_esp = "INSERT INTO a_pour_sous_genre(CODESOUSGENRE,CODEESPECE,CODECLASSIFICATION) VALUES($idSousGenre,$idEspece,$idClassif)";  
                           $result_assoc_sgen_esp = mysql_query($query_assoc_sgen_esp, $connexion) or logError("CREATION ASSOC SGEN ESP-".$query_assoc_sgen_esp."-".mysql_error());
                        
                           if($result_assoc_sgen_esp === true){
                              logAction("ASSOCIATION SOUS-GENRE <-> ESPECE (idSousGenre: ".$idSousGenre.", idEspece: ".$idEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        } else if ($idGenre!="") {
                           $query_assoc_gen_esp = "INSERT INTO genre_a_pour_espece(CODEGENRE,CODEESPECE,CODECLASSIFICATION) VALUES($idGenre,$idEspece,$idClassif)";  
                           $result_assoc_gen_esp = mysql_query($query_assoc_gen_esp, $connexion) or logError("CREATION ASSOC GEN ESP-".$query_assoc_gen_esp."-".mysql_error());
                        
                           if($result_assoc_gen_esp === true){
                              logAction("ASSOCIATION GENRE <-> ESPECE (idGenre: ".$idGenre.", idEspece: ".$idEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }
                     
                     }else {
                        $query_recup_idEspece = "SELECT CODEESPECE FROM espece WHERE NOMESPECE = ".mysqlString($ligne[$colEspece]);
                        $result_recup_idEspece = mysql_query($query_recup_idEspece, $connexion) or logError("RECUP ID ESPECE-".$query_recup_idEspece."-".mysql_error());
                        $idEspece=mysql_result($result_recup_idEspece,0);
                        mysql_free_result($result_recup_idEspece);
                        
                        if ($idSousGenre!="") {
                           $query_get_sgen_esp = "SELECT CODESOUSGENRE FROM a_pour_sous_genre apsf ";
                           $query_get_sgen_esp .= "WHERE apsf.CODESOUSGENRE = $idSousGenre AND aspf.CODEESPECE = $idEspece";
                           $result_get_sgen_esp = mysql_query($query_get_sgen_esp, $connexion) or logError("GET LIEN SGEN-ESP-".$query_get_sgen_esp."-".mysql_error());
                           
                           if(mysql_num_rows($result_get_sgen_esp) == 0) {
                              $query_assoc_sgen_esp = "INSERT INTO a_pour_sous_genre(CODESOUSGENRE,CODEESPECE,CODECLASSIFICATION) VALUES($idSousGenre,$idEspece,$idClassif)";  
                              $result_assoc_sgen_esp = mysql_query($query_assoc_sgen_esp, $connexion) or logError("CREATION ASSOC SGEN ESP-".$query_assoc_sgen_esp."-".mysql_error());                 
                           
                              if($result_assoc_sgen_esp === true){
                                 logAction("ASSOCIATION SOUS-GENRE <-> ESPECE (idSousGenre: ".$idSousGenre.", idEspece: ".$idEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                              }
                           
                           }
                           mysql_free_result($result_get_sgen_esp);
          
                        } else if ($idGenre!="") {
                           
                           $query_get_gen_esp = "SELECT CODEGENRE FROM genre_a_pour_espece gape ";
                           $query_get_gen_esp .= "WHERE gape.CODEGENRE = $idGenre AND gape.CODEESPECE = $idEspece";
                           $result_get_gen_esp = mysql_query($query_get_gen_esp, $connexion) or logError("GET LIEN GEN-ESP-".$query_get_gen_esp."-".mysql_error());
                           
                           if(mysql_num_rows($result_get_gen_esp) == 0) {
                              $query_assoc_gen_esp = "INSERT INTO genre_a_pour_espece(CODEGENRE,CODEESPECE,CODECLASSIFICATION) VALUES($idGenre,$idEspece,$idClassif)";  
                              $result_assoc_gen_esp = mysql_query($query_assoc_gen_esp, $connexion) or logError("CREATION ASSOC GEN ESP-".$query_assoc_gen_esp."-".mysql_error());                 
                           
                              if($result_assoc_gen_esp === true){
                                 logAction("ASSOCIATION GENRE <-> ESPECE (idGenre: ".$idGenre.", idEspece: ".$idEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                              }
                           
                           }
                           mysql_free_result($result_get_gen_esp);
                           
                        }
                        
                        if($creeTaxon && $espExist && $possibleDoublon) {
                           
                           $query_verif_exist_Taxon .= "INNER JOIN est_de_espece isESP ON (isFAM.CODETAXON = isESP.CODETAXON AND isFAM.CODECLASSIFICATION = isESP.CODECLASSIFICATION AND isESP.CODEESPECE = $idEspece) ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }
                     
                     if(isset($colProprieteEspece) && $ligne[$colProprieteEspece]!="") {
                  
                        $propExist = valueIsInTab($proprietes_especes,$ligne[$colProprieteEspece]);
                  
                        if(!$propExist) { 
                           
                           $query_creation_propriete_espece = "INSERT INTO propriete_espece(NOMPROPRIETEESPECE) VALUES(".mysqlString($ligne[$colProprieteEspece]).")";
         						$result_creation_propriete_espece = mysql_query($query_creation_propriete_espece, $connexion) or logError("CREATION PROPRIETE ESPECE-".$query_creation_propriete_espece."-".mysql_error());                     
                           $proprietes_especes[$nb_proprietes_especes] = $ligne[$colProprieteEspece];
                           $nb_proprietes_especes++;
                           
                           $idProprieteEspece = mysql_insert_id($connexion);
                           
                           if($result_creation_propriete_espece === true){
                  				logAction("PROPRIETE ESPECE (id: ".$idProprieteEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                  			}
                            
                        }else {
                           $query_recup_idProprieteEspece = "SELECT CODEPROPRIETEESPECE FROM propriete_espece WHERE NOMPROPRIETEESPECE = ".mysqlString($ligne[$colProprieteEspece]);
                           $result_recup_idProprieteEspece = mysql_query($query_recup_idProprieteEspece, $connexion) or logError("RECUP ID PROPRIETE ESPECE-".$query_recup_idProprieteEspece."-".mysql_error());
                           $idProprieteEspece=mysql_result($result_recup_idProprieteEspece,0);
                           mysql_free_result($result_recup_idProprieteEspece);  
                        }
                        
                        $query_get_esp_prop = "SELECT CODEESPECE FROM possede_propriete pp ";
                        $query_get_esp_prop .= "WHERE pp.CODEESPECE = $idEspece AND pp.CODEPROPRIETEESPECE = $idProprieteEspece";
                        $result_get_esp_prop = mysql_query($query_get_esp_prop, $connexion) or logError("GET LIEN ESP PROP-".$query_get_esp_prop."-".mysql_error());
                        
                        if(mysql_num_rows($result_get_esp_prop) == 0) {
                           $query_assoc_esp_prop = "INSERT INTO possede_propriete(CODEESPECE,CODEPROPRIETEESPECE,CODECLASSIFICATION) VALUES($idEspece,$idProprieteEspece,$idClassif)";  
                           $result_assoc_esp_prop = mysql_query($query_assoc_esp_prop, $connexion) or logError("CREATION ASSOC ESP PROP-".$query_assoc_esp_prop."-".mysql_error());                 
                        
                           if($result_assoc_esp_prop === true){
                              logAction("ASSOCIATION ESPECE <-> PROPRIETE ESPECE (idEspece: ".$idEspece.", idProprieteEspece: ".$idProprieteEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }
                        mysql_free_result($result_get_esp_prop);
                        
                     } else {
                        $idProprieteEspece = "";
                     }
                     
                  } else {
                     $idEspece = "";
                     if ($creeTaxon) {
                        $afficheT2 .= "<b>Ce taxon n'est pas complet. AJOUT ANNULE</b>";
                     }
                     $creeTaxon = 0;
                  }
                  
                  if(isset($colSousEspece) && $ligne[$colSousEspece]!="") {
                 
                     $afficheT .= $ligne[$colSousEspece]." ";
                 
                     $sespExist = valueIsInTab($sous_especes,$ligne[$colSousEspece]);
                 
                     if (!$sespExist) {
                        $possibleDoublon = 0;
                        if(!(isset($colVariete) && $ligne[$colVariete]!="") && $idAuteur!="") {
                           $query_creation_sous_espece = "INSERT INTO sous_espece(NOMSOUSESPECE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colSousEspece]).",$idAuteur)";  
                        } else {
                           $query_creation_sous_espece = "INSERT INTO sous_espece(NOMSOUSESPECE) VALUES(".mysqlString($ligne[$colSousEspece]).")";
                        }
      						$result_creation_sous_espece = mysql_query($query_creation_sous_espece, $connexion) or logError("CREATION sous_espece-".$query_creation_sous_espece."-".mysql_error());                     
                        $sous_especes[$nb_sous_especes] = $ligne[$colSousEspece];
                        $nb_sous_especes++;
                        
                        $idSousEspece = mysql_insert_id($connexion);
                        
                        if($result_creation_sous_espece === true){
                           logAction("SOUS-ESPECE (idSousEspece: ".$idSousEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                        
                        if ($idEspece!="") {
                           $query_assoc_esp_sesp = "INSERT INTO a_pour_espece(CODEESPECE,CODESOUSESPECE,CODECLASSIFICATION) VALUES($idEspece,$idSousEspece,$idClassif)";  
                           $result_assoc_esp_sesp = mysql_query($query_assoc_esp_sesp, $connexion) or logError("CREATION ASSOC ESP SESP-".$query_assoc_esp_sesp."-".mysql_error());
                        
                           if($result_assoc_esp_sesp === true){
                              logAction("ASSOCIATION ESPECE <-> SOUS-ESPECE (idEspece: ".$idEspece.", idSousEspece: ".$idSousEspece.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }   
                     
                     }else {
                        $query_recup_idSousEspece = "SELECT CODESOUSESPECE FROM sous_espece WHERE NOMSOUSESPECE = ".mysqlString($ligne[$colSousEspece]);
                        $result_recup_idSousEspece = mysql_query($query_recup_idSousEspece, $connexion) or logError("RECUP ID SOUS_ESPECE-".$query_recup_idSousEspece."-".mysql_error());
                        $idSousEspece=mysql_result($result_recup_idSousEspece,0);
                        mysql_free_result($result_recup_idSousEspece);
                        
                        if($creeTaxon && $sespExist && $possibleDoublon) {
                           $query_verif_exist_Taxon .= "INNER JOIN est_de_sous_espece isSESP ON (isFAM.CODETAXON = isSESP.CODETAXON AND isFAM.CODECLASSIFICATION = isSESP.CODECLASSIFICATION AND isSESP.CODESOUSESPECE = $idSousEspece) ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }
                     
                  }else {
                     $idSousEspece = "";
                  }
                  
                  if(isset($colVariete) && $ligne[$colVariete]!="") {
                  
                     $afficheT .= $ligne[$colVariete]." ";
                  
                     $varExist = valueIsInTab($varietes,$ligne[$colVariete]);
                  
                     if(!$varExist) { 
                        $possibleDoublon = 0;
                        if($idAuteur!="") {
                           $query_creation_variete = "INSERT INTO variete(NOMVARIETE,CODEAUTEUR) VALUES(".mysqlString($ligne[$colVariete]).",$idAuteur)";  
                        } else {
                           $query_creation_variete = "INSERT INTO variete(NOMVARIETE) VALUES(".mysqlString($ligne[$colVariete]).")";
                        }
      						$result_creation_variete = mysql_query($query_creation_variete, $connexion) or logError("CREATION variete-".$query_creation_variete."-".mysql_error());                     
                        $varietes[$nb_varietes] = $ligne[$colVariete];
                        $nb_varietes++;
                        
                        $idVariete = mysql_insert_id($connexion);
                        
                        if($result_creation_variete === true){
                           logAction("VARIETE (idVariete: ".$idVariete.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                         
                     }else {
                        $query_recup_idVariete = "SELECT CODEVARIETE FROM variete WHERE NOMVARIETE = ".mysqlString($ligne[$colVariete]);
                        $result_recup_idVariete = mysql_query($query_recup_idVariete, $connexion) or logError("RECUP ID VARIETE-".$query_recup_idVariete."-".mysql_error());
                        $idVariete=mysql_result($result_recup_idVariete,0);
                        mysql_free_result($result_recup_idVariete);
                        
                        if($creeTaxon && $varExist && $possibleDoublon) {
                           
                           $query_verif_exist_Taxon .= "INNER JOIN a_comme_variete isVAR ON (isFAM.CODETAXON = isVAR.CODETAXON AND isFAM.CODECLASSIFICATION = isVAR.CODECLASSIFICATION AND isVAR.CODEVARIETE = $idVariete) ";
                           
                        } else {
                           $possibleDoublon = 0;
                        }
                        
                     }
                     
                  } else {
                     $idVariete = "";
                  }
                  
                  if(isset($colAireGeo) && $ligne[$colAireGeo]!="") {
                 
                     $airExist = valueIsInTab($air_geographique,$ligne[$colAireGeo]);
                 
                     if (!$airExist) {
                        
                        $query_creation_aire_geographique = "INSERT INTO aire_geographique(NOMAIREGEOGRAPHIQUE) VALUES(".mysqlString($ligne[$colAireGeo]).")";  
      						$result_creation_aire_geographique = mysql_query($query_creation_aire_geographique, $connexion) or logError("CREATION aire_geographique-".$query_creation_aire_geographique."-".mysql_error());                     
                        $aires_geographiques[$nb_aires_geographiques] = $ligne[$colAireGeo];
                        $nb_aires_geographiques++;
                        
                        $idAirGeo = mysql_insert_id($connexion);
                        
                        if($result_creation_aire_geographique === true){
                           logAction("AIRE GEOGRAPHIQUE (idAirGeo: ".$idAirGeo.") AJOUTEE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                      
                     }else {
                        $query_recup_idAirGeo = "SELECT CODEAIREGEOGRAPHIQUE FROM aire_geographique WHERE NOMAIREGEOGRAPHIQUE = ".mysqlString($ligne[$colAireGeo]);
                        $result_recup_idAirGeo = mysql_query($query_recup_idAirGeo, $connexion) or logError("RECUP ID AIRE_GEOGRAPHIQUE-".$query_recup_idAirGeo."-".mysql_error());
                        $idAirGeo=mysql_result($result_recup_idAirGeo,0);
                        mysql_free_result($result_recup_idAirGeo);
                        
                     }
                     
                     if(isset($colMilieuBiologique) && $ligne[$colMilieuBiologique]!="") {
                 
                        $mibiExist = valueIsInTab($milieu_biologique,$ligne[$colMilieuBiologique]);
                 
                        if (!$mibiExist) {
                           
                           $query_creation_milieu_biologique = "INSERT INTO milieu_biologique(NOMMILIEUBIOLOGIQUE) VALUES(".mysqlString($ligne[$colMilieuBiologique]).")";  
         						$result_creation_milieu_biologique = mysql_query($query_creation_milieu_biologique, $connexion) or logError("CREATION milieu_biologique-".$query_creation_milieu_biologique."-".mysql_error());                     
                           $milieux_biologiques[$nb_milieux_biologiques] = $ligne[$colMilieuBiologique];
                           $nb_milieux_biologiques++;
                           
                           $idMilieuBiologique = mysql_insert_id($connexion);
                           
                        if($result_creation_milieu_biologique === true){
                           logAction("MILIEU BIOLOGIQUE (idMilieuBiologique: ".$idMilieuBiologique.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                         
                        }else {
                           $query_recup_idMilieuBiologique = "SELECT CODEMILIEUBIOLOGIQUE FROM milieu_biologique WHERE NOMMILIEUBIOLOGIQUE = ".mysqlString($ligne[$colMilieuBiologique]);
                           $result_recup_idMilieuBiologique = mysql_query($query_recup_idMilieuBiologique, $connexion) or logError("RECUP ID MILIEU_BIOLOGIQUE-".$query_recup_idMilieuBiologique."-".mysql_error());
                           $idMilieuBiologique=mysql_result($result_recup_idMilieuBiologique,0);
                           mysql_free_result($result_recup_idMilieuBiologique);
                           
                        }
                        
                     } else {
                        $idMilieuBiologique = "";
                     }
                     
                     if(isset($colNomVernaculaire) && $ligne[$colNomVernaculaire]!="") {
                 
                        $nverExist = valueIsInTab($nom_vernaculaire,$ligne[$colNomVernaculaire]);
                 
                        if (!$nverExist) {
                           
                           $query_creation_nom_vernaculaire = "INSERT INTO nom_vernaculaire(NOMVERNACULAIRE) VALUES(".mysqlString($ligne[$colNomVernaculaire]).")";  
         						$result_creation_nom_vernaculaire = mysql_query($query_creation_nom_vernaculaire, $connexion) or logError("CREATION nom_vernaculaire-".$query_creation_nom_vernaculaire."-".mysql_error());                     
                           $noms_vernaculaires[$nb_noms_vernaculaires] = $ligne[$colNomVernaculaire];
                           $nb_noms_vernaculaires++;
                           
                           $idNomVernaculaire = mysql_insert_id($connexion);
                           
                           if($result_creation_nom_vernaculaire === true){
                              logAction("NOM VERNACULAIRE (idNomVernaculaire: ".$idNomVernaculaire.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                         
                        }else {
                           $query_recup_idNomVernaculaire = "SELECT CODENOMVERNACULAIRE FROM nom_vernaculaire WHERE NOMVERNACULAIRE = ".mysqlString($ligne[$colNomVernaculaire]);
                           $result_recup_idNomVernaculaire = mysql_query($query_recup_idNomVernaculaire, $connexion) or logError("RECUP ID nom_vernaculaire-".$query_recup_idNomVernaculaire."-".mysql_error());
                           $idNomVernaculaire=mysql_result($result_recup_idNomVernaculaire,0);
                           mysql_free_result($result_recup_idNomVernaculaire);
                           
                        }
                         
                     } else {
                        $idNomVernaculaire = "";
                     }
                     
                     if(isset($colTypeBiologique) && $ligne[$colTypeBiologique]!="") {
                 
                        $tybiExist = valueIsInTab($type_biologique,$ligne[$colTypeBiologique]);
                 
                        if (!$tybiExist) {
                           
                           $query_creation_type_biologique = "INSERT INTO type_biologique(NOMTYPEBIOLOGIQUE) VALUES(".mysqlString($ligne[$colTypeBiologique]).")";  
         						$result_creation_type_biologique = mysql_query($query_creation_type_biologique, $connexion) or logError("CREATION type_biologique-".$query_creation_type_biologique."-".mysql_error());                     
                           $types_biologiques[$nb_types_biologiques] = $ligne[$colTypeBiologique];
                           $nb_types_biologiques++;
                           
                           $idTypeBiologique = mysql_insert_id($connexion); 
                         
                        }else {
                           $query_recup_idTypeBiologique = "SELECT CODETYPEBIOLOGIQUE FROM type_biologique WHERE NOMTYPEBIOLOGIQUE = ".mysqlString($ligne[$colTypeBiologique]);
                           $result_recup_idTypeBiologique = mysql_query($query_recup_idTypeBiologique, $connexion) or logError("RECUP ID TYPE_BIOLOGIQUE-".$query_recup_idTypeBiologique."-".mysql_error());
                           $idTypeBiologique=mysql_result($result_recup_idTypeBiologique,0);
                           mysql_free_result($result_recup_idTypeBiologique);
                           
                           if($result_creation_type_biologique === true){
                              logAction("TYPE BIOLOGIQUE (idTypeBiologique: ".$idTypeBiologique.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                           
                        }
                        
                     } else {
                        $idTypeBiologique = "";
                     }
                     
                  }else {
                     $idAirGeo = "";
                  }

                  
                  $nbrDoublon = 0;   
                  if ($creeTaxon){
                  
                     if ($possibleDoublon && $query_verif_exist_Taxon){
                        $query_verif_exist_Taxon .= "WHERE isFAM.CODEFAMILLE = $idFamille AND isFAM.CODECLASSIFICATION = $idClassif";
                        

                        $result_verif_exist_Taxon = mysql_query($query_verif_exist_Taxon, $connexion) or logError("VERIF EXISTENCE TAXON-".$query_verif_exist_Taxon."-".mysql_error());
                        
                        $nbrDoublon = mysql_num_rows($result_verif_exist_Taxon);
                        if($nbrDoublon == 0) {
                           $possibleDoublon = 0;
                           $query_creation_taxon = "INSERT INTO TAXON (CODEAUTEUR,CODECLASSIFICATION) VALUES($idAuteur,$idClassif)";                    
                        }else {
                           $i=0;
                           while($codeTax = mysql_fetch_assoc($result_verif_exist_Taxon)){
                               $tab_codeTaxon_doublon[$i] = $codeTax['CODETAXON'];
                               $i++;
                           }
                           
                           for($j=0;$j<$i;$j++){
                              $taxonWithSousSmth = 0;
                              if($idSousFamille == "") {
                                 $query_sans_sousFam = "SELECT count(*) FROM est_de_sous_famille edf WHERE edf.CODETAXON = $tab_codeTaxon_doublon[$j]";
                                 $result_sans_sousFam = mysql_query($query_sans_sousFam, $connexion) or logError("VERIF DOUBLON TAXON SFAM-".$query_sans_sousFam."-".mysql_error());
                                 $rth = mysql_result($result_sans_sousFam,0);
                                 ($rth==1)?$taxonWithSousSmth=1:$taxonWithSousSmth=0;
                                 mysql_free_result($result_sans_sousFam);
                              }
                              if($idSousGenre == "" && !$taxonWithSousSmth) {
                                 $query_sans_sousGen = "SELECT count(*) FROM appartient_a_sous_genre asg WHERE asg.CODETAXON = $tab_codeTaxon_doublon[$j]";
                                 $result_sans_sousGen = mysql_query($query_sans_sousGen, $connexion) or logError("VERIF DOUBLON TAXON SGEN-".$query_sans_sousGen."-".mysql_error());
                                 $rth2 = mysql_result($result_sans_sousGen,0);
                                 ($rth2==1)?$taxonWithSousSmth=1:$taxonWithSousSmth=0;
                                 mysql_free_result($result_sans_sousGen);
                              }
                              
                              if($idSousEspece == "" && !$taxonWithSousSmth) {
                                 $query_sans_sousEsp = "SELECT count(*) FROM est_de_sous_espece ede WHERE ede.CODETAXON = $tab_codeTaxon_doublon[$j]";
                                 $result_sans_sousEsp = mysql_query($query_sans_sousEsp, $connexion) or logError("VERIF DOUBLON TAXON SESP-".$query_sans_sousEsp."-".mysql_error());
                                 $rth3 = mysql_result($result_sans_sousEsp,0);
                                 ($rth3==1)?$taxonWithSousSmth=1:$taxonWithSousSmth=0;
                                 mysql_free_result($result_sans_sousEsp);
                              }
                              if($idVariete == "" && !$taxonWithSousSmth) {
                                 $query_sans_Var = "SELECT count(*) FROM a_comme_variete acv WHERE acv.CODETAXON = $tab_codeTaxon_doublon[$j]";
                                 $result_sans_Var = mysql_query($query_sans_Var, $connexion) or logError("VERIF DOUBLON TAXON VAR-".$query_sans_Var."-".mysql_error());
                                 $rth4 = mysql_result($result_sans_Var,0);
                                 ($rth4==1)?$taxonWithSousSmth=1:$taxonWithSousSmth=0;
                                 mysql_free_result($result_sans_Var);
                              }
                              if(!$taxonWithSousSmth){
                                 break;
                              }
                           }
                           
                           $possibleDoublon = !$taxonWithSousSmth;
                           
                           if ($possibleDoublon) {
                              
                              $query_creation_taxon = 0;
     
                           } else {
                              $query_creation_taxon = "INSERT INTO TAXON (CODEAUTEUR,CODECLASSIFICATION) VALUES($idAuteur,$idClassif)";
                           }
                        }
                     
                     } else {
                        $query_creation_taxon = "INSERT INTO TAXON (CODEAUTEUR,CODECLASSIFICATION) VALUES($idAuteur,$idClassif)";

                     }
                     
                     if (!$possibleDoublon && $idFamille != "" && $idGenre != "" && $idEspece != "") {
                        
                         if ($query_creation_taxon) {
                           $result_creation_taxon = mysql_query($query_creation_taxon, $connexion) or logError("AJOUT TAXON-".$query_creation_taxon."-".mysql_error());
                           $idTaxon = mysql_insert_id($connexion);
                           $afficheT2 .= "<b>TAXON (idTaxon: ".$idTaxon.") AJOUTE</b>";
                           
                           if($result_creation_taxon === true){
                              logAction("TAXON (idTaxon: ".$idTaxon.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                           
                           $possibleDoublon = 0;
                        }
                        
                        $query_assoc_fam_taxon = "INSERT INTO est_de_famille(CODEFAMILLE,CODETAXON,CODECLASSIFICATION) VALUES($idFamille,$idTaxon,$idClassif)";  
                        $result_assoc_fam_taxon = mysql_query($query_assoc_fam_taxon, $connexion) or logError("CREATION ASSOC FAM TAXON-".$query_assoc_fam_taxon."-".mysql_error());
                       
                        if($result_assoc_fam_taxon === true){
                           logAction("ASSOCIATION TAXON <-> FAMILLE (idTaxon: ".$idTaxon.", idFamille: ".$idFamille.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                       
                        $query_assoc_gen_taxon = "INSERT INTO appartient_a_genre(CODEGENRE,CODETAXON,CODECLASSIFICATION) VALUES($idGenre,$idTaxon,$idClassif)";  
                        $result_assoc_gen_taxon = mysql_query($query_assoc_gen_taxon, $connexion) or logError("CREATION ASSOC GEN TAXON-".$query_assoc_gen_taxon."-".mysql_error());
                        
                        if($result_assoc_gen_taxon === true){
                           logAction("ASSOCIATION TAXON <-> GENRE (idTaxon: ".$idTaxon.", idGenre: ".$idGenre.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                        
                        $query_assoc_esp_taxon = "INSERT INTO est_de_espece(CODEESPECE,CODETAXON,CODECLASSIFICATION) VALUES($idEspece,$idTaxon,$idClassif)";  
                        $result_assoc_esp_taxon = mysql_query($query_assoc_esp_taxon, $connexion) or logError("CREATION ASSOC ESP TAXON-".$query_assoc_esp_taxon."-".mysql_error());
                        
                        if($result_assoc_esp_taxon === true){
                           logAction("ASSOCIATION TAXON <-> ESPECE (idTaxon: ".$idTaxon.", idEspece: ".$idEspece.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                        
                        if($idSousFamille != "") {
                           $query_assoc_sfam_taxon = "INSERT INTO est_de_sous_famille(CODESOUSFAMILLE,CODETAXON,CODECLASSIFICATION) VALUES($idSousFamille,$idTaxon,$idClassif)";  
                           $result_assoc_sfam_taxon = mysql_query($query_assoc_sfam_taxon, $connexion) or logError("CREATION ASSOC SFAM TAXON-".$query_assoc_sfam_taxon."-".mysql_error());
                        
                           if($result_assoc_sfam_taxon === true){
                              logAction("ASSOCIATION TAXON <-> SOUS-FAMILLE (idTaxon: ".$idTaxon.", idSousFamille: ".$idSousFamille.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }
                        
                        if($idSousGenre != "") {
                           $query_assoc_sgen_taxon = "INSERT INTO appartient_a_sous_genre(CODESOUSGENRE,CODETAXON,CODECLASSIFICATION) VALUES($idSousGenre,$idTaxon,$idClassif)";  
                           $result_assoc_sgen_taxon = mysql_query($query_assoc_sgen_taxon, $connexion) or logError("CREATION ASSOC SGEN TAXON-".$query_assoc_sgen_taxon."-".mysql_error());
                        
                           if($result_assoc_sgen_taxon === true){
                              logAction("ASSOCIATION TAXON <-> SOUS-GENRE (idTaxon: ".$idTaxon.", idSousGenre: ".$idSousGenre.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }
                        
                        if($idSousEspece != "") {
                           $query_assoc_sesp_taxon = "INSERT INTO est_de_sous_espece(CODESOUSESPECE,CODETAXON,CODECLASSIFICATION) VALUES($idSousEspece,$idTaxon,$idClassif)";  
                           $result_assoc_sesp_taxon = mysql_query($query_assoc_sesp_taxon, $connexion) or logError("CREATION ASSOC SESP TAXON-".$query_assoc_sesp_taxon."-".mysql_error());
                       
                           if($result_assoc_sesp_taxon === true){
                              logAction("ASSOCIATION TAXON <-> SOUS-ESPECE (idTaxon: ".$idTaxon.", idSousEspece: ".$idSousEspece.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }

                       }
                        
                        if($idVariete != "") {
                           $query_assoc_var_taxon = "INSERT INTO a_comme_variete(CODEVARIETE,CODETAXON,CODECLASSIFICATION) VALUES($idVariete,$idTaxon,$idClassif)";  
                           $result_assoc_var_taxon = mysql_query($query_assoc_var_taxon, $connexion) or logError("CREATION ASSOC VAR TAXON-".$query_assoc_var_taxon."-".mysql_error());
                        
                           if($result_assoc_var_taxon === true){
                              logAction("ASSOCIATION TAXON <-> VARIETE (idTaxon: ".$idTaxon.", idVariete: ".$idVariete.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                        
                        }
                     } else {
                        $afficheT2 .= "<b>Ce taxon existe déjà. AJOUT ANNULE</b>";
                     }
                     
                     
                     
                     if(isset($colMilieuBiologique) && $idMilieuBiologique !="") {
                        $query_get_air_mibi = "SELECT CODEMILIEUBIOLOGIQUE FROM milieu_biologique mibi ";
                        $query_get_air_mibi .= "WHERE mibi.CODEAIREGEOGRAPHIQUE = $idAireGeographique AND mibi.CODEMILIEUBIOLOGIQUE = $idMilieuBiologique";
                        $result_get_air_mibi = mysql_query($query_get_air_mibi, $connexion) or logError("GET LIEN AIR MIBI-".$query_get_air_mibi."-".mysql_error());
                        
                        if(mysql_num_rows($result_get_air_mibi) == 0) {
                           $query_assoc_air_mibi = "INSERT INTO se_trouve_en_milieu_biologique(CODETAXON,CODEAIREGEOGRAPHIQUE,CODEMILIEUBIOLOGIQUE) VALUES($idTaxon,$idAirGeo,$idMilieuBiologique)";  
                           $result_assoc_air_mibi = mysql_query($query_assoc_air_mibi, $connexion) or logError("CREATION ASSOC AIR MIBI-".$query_assoc_air_mibi."-".mysql_error());                 
                        }
                        mysql_free_result($result_get_air_mibi);
                        
                        if($result_assoc_air_mibi === true){
                           logAction("ASSOCIATION TAXON <-> AIRE GEO <-> MILIEU BIO (idTaxon: ".$idTaxon.", idAirGeo: ".$idAirGeo.", idMilieuBiologique: ".$idMilieuBiologique.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                        
                     }
                     
                     if(isset($colNomVernaculaire) && $idNomVernaculaire != "") {
                        $query_get_air_nver = "SELECT CODENOMVERNACULAIRE FROM nom_vernaculaire nver ";
                        $query_get_air_nver .= "WHERE nver.CODEAIREGEOGRAPHIQUE = $idAireGeographique AND nver.CODENOMVERNACULAIRE = $idNomVernaculaire";
                        $result_get_air_nver = mysql_query($query_get_air_nver, $connexion) or logError("GET LIEN AIR nver-".$query_get_air_nver."-".mysql_error());
                        
                        if(mysql_num_rows($result_get_air_nver) == 0) {
                           $query_assoc_air_nver = "INSERT INTO nver(CODETAXON,CODEAIREGEOGRAPHIQUE,CODENOMVERNACULAIRE) VALUES($idTaxon,$idAirGeo,$idNomVernaculaire)";  
                           $result_assoc_air_nver = mysql_query($query_assoc_air_nver, $connexion) or logError("CREATION ASSOC AIR nver-".$query_assoc_air_nver."-".mysql_error());                 
                        }
                        mysql_free_result($result_get_air_nver);
                        
                        if($result_assoc_air_nver === true){
                           logAction("ASSOCIATION TAXON <-> AIRE GEO <-> Type BIO (idTaxon: ".$idTaxon.", idAirGeo: ".$idAirGeo.", idNomVernaculaire: ".$idNomVernaculaire.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                     }
                     
                     if(isset($colTypeBiologique) && $idTypeBiologique != "") {
                        $query_get_air_tybi = "SELECT CODETYPEBIOLOGIQUE FROM type_biologique tybi ";
                        $query_get_air_tybi .= "WHERE tybi.CODEAIREGEOGRAPHIQUE = $idAireGeographique AND tybi.CODETYPEBIOLOGIQUE = $idTypeBiologique";
                        $result_get_air_tybi = mysql_query($query_get_air_tybi, $connexion) or logError("GET LIEN AIR tybi-".$query_get_air_tybi."-".mysql_error());
                        
                        if(mysql_num_rows($result_get_air_tybi) == 0) {
                           $query_assoc_air_tybi = "INSERT INTO est_de_type_biologique(CODETAXON,CODEAIREGEOGRAPHIQUE,CODETYPEBIOLOGIQUE) VALUES($idTaxon,$idAirGeo,$idTypeBiologique)";  
                           $result_assoc_air_tybi = mysql_query($query_assoc_air_tybi, $connexion) or logError("CREATION ASSOC AIR tybi-".$query_assoc_air_tybi."-".mysql_error());                 
                        }
                        mysql_free_result($result_get_air_tybi); 

                        if($result_assoc_air_tybi === true){
                           logAction("ASSOCIATION TAXON <-> AIRE GEO <-> Type BIO (idTaxon: ".$idTaxon.", idAirGeo: ".$idAirGeo.", idTypeBiologique: ".$idTypeBiologique.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                        }
                     }
                     
                     if(isset($colCultivar) && $ligne[$colCultivar]!="" && $idAuteur != ""){
                     
                        if (!valueIsInTab($cultivars,$ligne[$colCultivar])) {
                           $query_creation_cultivar = "INSERT INTO cultivar(CODETAXON,CODEAUTEUR,NOMCULTIVAR) VALUES($idTaxon,$idAuteur,".mysqlString($ligne[$colCultivar]).")";
                           $result_creation_cultivar = mysql_query($query_creation_cultivar, $connexion) or logError("CREATION CULTIVAR-".$query_creation_cultivar."-".mysql_error());
                           $cultivars[$nb_cultivars] = $ligne[$colCultivar];
                           $nb_cultivars++;
                           
                           if($result_creation_cultivar === true){
                              logAction("CULTIVAR (idCultivar: ".$idCultivar.") AJOUTE par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
                           }
                           
                        }
                     }   
                  }
                  $query_verif_exist_Taxon = 0;
               }
               
               $afficheT2 .= "</div>";
               
               if ($verbose) {
                  echo $afficheT.$afficheT2;
               }
               $count++;
            }
            
            
            // une fois le fichier traité, on le supprime.
            fclose($ouvre);
            unlink("import/$nomfichier");
         
         
         }
      }
      
   } else {
         
      if(isset($_SESSION)){
         include("pages/401.htm");
   	}
         
   }
   
?>